-
Notifications
You must be signed in to change notification settings - Fork 102
[v0.9] Remove penalties on recovery and on missed PoSt (FIP-0002) #1181
Conversation
e630995
to
db4642b
Compare
Codecov Report
@@ Coverage Diff @@
## release/v0.9 #1181 +/- ##
==============================================
- Coverage 73.2% 73.2% -0.1%
==============================================
Files 51 51
Lines 5450 5470 +20
==============================================
+ Hits 3994 4006 +12
- Misses 876 877 +1
- Partials 580 587 +7 |
db4642b
to
d006413
Compare
ongoingFaultyPower := deadline.FaultyPower.QA | ||
if networkVersion >= network.Version3 { | ||
// From network version 3, this *excludes* any power that was just faulted from missing a PoSt. | ||
ongoingFaultyPower = previouslyFaultyPower |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucaniz @irenegia I looked over this again and it appears to be correct. previouslyFaultPower
already accounts for failedRecoveryPower
(we only handle failedRecoveryPower separately in the previous version because we used to charge this power SP). Another way to put it, the value of deadline.FaultyPower.QA
at line 1683 after processing deadline end = previouslyFaultPower - newFaultyPower
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good
d006413
to
59f1a03
Compare
Honest miners are sometimes disproportionately penalized for operational failures and network congestion by the high undeclared-fault penalty (aka SP) for missed Window PoSts. This change reduces those costs without sacrificing much of the incentive to maintain reliable storage.
Summary:
As a result of this, declaring faults in advance confers no advantage compared with skipping them at Window PoSt. The DeclareFaults method remains, but may be removed in the future.
This change is a demonstration of upcoming FIP-0002, which will describe more background and rationale.
Note that the new values are not directly tested in this PR. I intend to replicate on the
v2
line and change all the tests there. UPDATE: see #1183FYI @Stebalien @magik6k @whyrusleeping @zixuanzh @nicola